package com.example.riceexambackend.service;

import com.example.riceexambackend.controller.param.user.UserCurrentParam;
import com.example.riceexambackend.controller.param.user.UserLoginPasswordParam;
import com.example.riceexambackend.controller.param.user.UserRegisterParam;
import com.example.riceexambackend.service.dto.user.UserCurrentDTO;
import com.example.riceexambackend.service.dto.user.UserLoginDTO;
import com.example.riceexambackend.service.dto.user.UserRegisterDTO;

/**
 * 用户层
 */
public interface UserService {
    /**
     * 用户注册
     * @param param 注册参数
     * @return DTO对象
     */
    UserRegisterDTO register(UserRegisterParam param);

    /**
     * 用户登录
     * @param param 登录参数
     * @return DTO对象
     */
    UserLoginDTO loginByPassword(UserLoginPasswordParam param);

    /**
     * 获取当前登录用户
     * @param param
     * @return
     */
    UserCurrentDTO getCurrentUser(UserCurrentParam param);
}
